/*
 * timer.c
 *
 *  Created on: Nov 20, 2012
 *      Author: jzj
 */

#include "ppctimer.h"


void set_time_base(unsigned int tbu,unsigned int tbl)
{
    unsigned int tbuBak = tbu;
    unsigned int tblBak = tbl;
	// unsigned int hid0=0;
	// MTSPR(TBL_W,0);
	// MTSPR(TBU_W,tbu);
	// MTSPR(TBL_W,tbl);
	// MFSPR(hid0,HID0);
	// MTSPR(HID0,hid0|0x4000);
	PIT.PITMCR.R = 0x00000000;
	PIT.CH[0].LDVAL.R = 0xFFFFFFFF;
	PIT.CH[0].TCTRL.R = 0x000000001;
}

// void get_time_base(unsigned int *tbu,unsigned int *tbl)
// {
	// unsigned int tmp=0;

// //	do
// //	{
		// MFSPR(*tbu,TBU);
		// MFSPR(*tbl,TBL);
		// MFSPR(tmp,TBU);
// //	}while(*tbu!=tmp);
// }


float get_tb(void)
{
	// unsigned long long tb;
	// unsigned int  tbu;
	// unsigned int  tbl;

	// get_time_base(&tbu,&tbl);
	
	
	// tb =(float)(tbu);
	// tb =(float)(tb<<32|tbl);

	return (0xFFFFFFFF - PIT.CH[0].CVAL.R);
}

float get_tb_f(void)
{
	return (float)(get_tb());
}




